import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 列表数据
    goodList: [
      {
        name: '诸葛亮',
        price: 1000,
        num: 1,
        checked: false,
      },
      {
        name: '蔡文姬',
        price: 1500,
        num: 1,
        checked: false,
      },
      {
        name: '妲己',
        price: 2000,
        num: 1,
        checked: false,
      },
      {
        name: '鲁班',
        price: 2200,
        num: 1,
        checked: false,
      },
    ],
  },
  getters: {
    // 判断选中的商品价格总和
    sum(i) {
      return i.goodList.reduce((pev, item) => {
        if (item.checked) {
          return pev + item.price * item.num
        }
        return pev
      }, 0)
    },
  },

  mutations: {
    // 加
    addbtn(i, item) {
      ++item.num
    },
    // 减
    delbtn(i, item) {
      if (item.num > 1) {
        --item.num
      }
    },
    // 删除
    delet(i, index) {
      i.goodList.splice(index, 1)
    },
  },
  actions: {},
})
